Systems and methods for locating mobile computer users in a wireless network

ABSTRACT

System and methods for locating a computer user are described wherein the computer either periodically updates a network server with its location, or updates the network server when asked by the server to do so. The network server can be a mobile computer. The user&#39;s computer determines its physical location using a location tracker service and then transmits this location information to the server, which stores it in its memory. The information stored includes the physical location of the computer, the time when the location was identified, a name identifying the user of the computer, and an indicator, which indicates whether or not the user was active on the computer during a specified time interval prior to the transmission. The location of the user is deemed to be the last known location of the computer used by the user. If the user is logged onto more than one computer, the location of the user is deemed to be the last known location of the computer that indicates the user as being active.

TECHNICAL FIELD

[0001] This invention relates to locating users logged onto a networkand, more particularly, to locating mobile users logged onto a wirelessnetwork.

BACKGROUND OF THE INVENTION

[0002] The proliferation of lightweight, portable computing devices andhighspeed wireless local area networks (LANs) has enabled users toremain connected and be able to compute while on the move insidebuildings and on campus areas around buildings. This new paradigm hasgiven birth to a new class of applications that are “location aware.”The goal of mobile computing in many instances is to enable a user tointeract effectively with his or her physical surroundings. One exampleof such an interaction is to track physical locations of network users,particularly mobile users. Doing so allows one network user to query thenetwork for a location of another network user and to receive areasonably accurate response.

[0003] One component of these systems is the actual tracking system,which determines the user's location. The Global Positioning System(GPS) is one example of a technology, which enables the creation ofinexpensive and portable systems that can help locate and track users.GPS systems currently are used to provide direction to drivers throughan in-vehicle system; provide location and tracking information formarine navigation; and allow shipping companies to locate and trackindividual shipments. However, the GPS system relies on an unobstructedview of several satellites, making its use for tracking users who areindoors ineffective.

[0004] To overcome this obstacle, alternate technologies have beendeveloped to locate and track users or objects in an indoor environment.One such system uses tags placed on the items that are to be tracked. Inan electronic sense, the tags can be either active or passive, and theycommunicate with base stations. The base stations are physically linkedtogether through a wired or wireless network. Each tag transmits aunique code to identify itself. The location of the tag can thereby bedetermined to be in the vicinity of the base station with which the taglast communicated.

[0005] Such tag-based tracking and location systems require asignificant installation of specialized base stations. A tag-basedsystem can only determine the location of the tags as being “near” aparticular base station. As a result, a large number of base stationsmust be installed to achieve a sufficiently high resolution.Furthermore, obtrusive tags have to be placed on every item that is tobe tracked or located, and in the case of infrared tags, the systemoperates only when there is a line of sight between the tag and a basestation. For these reasons, tag-based systems have shown very limitedsuccess.

[0006] Another technology has been developed which uses radio frequencytransmissions from base stations and mobile units to track the locationof mobile units. This technology is described in U.S. patent applicationSer. No. 09/______ , entitled “Using a Derived Table of Signal StrengthData to Locate and Track a User In a Wireless Network, and in U.S.patent application Ser. No. 09/______ , entitled “Locating and Trackinga User in a Wireless Network Through Environmentally Profiled Data.”

[0007] In this system, a Wireless Local Area Network (WLAN) is utilizedfor locating and tracking users. A WLAN consists of base stationsconnected to a wired network, and mobile devices that are “connected” tothe WLAN through radio frequency signals with the base stations. Thesignal sensing ability of both the base station and the mobile deviceare used to determine the location of the mobile device, and thus thelocation of the user of the mobile device. In particular, the strengthof the signals received from several base stations is measured by themobile device. The mobile device then compares the signal strength fromeach of the base stations to a pre-computed table containing the basestations' signal strength at various known locations of the mobiledevice. From this comparison, the mobile device determines its location.Alternatively, the signal strength from the mobile device can bemeasured at a number of base stations. This signal strength is thencompared by a central computer to a pre-computed table containing themobile computer's signal strength at the base stations for various knownlocations. From this table, the central computer determines the locationof the mobile computer.

[0008] Although the mobile computer can identify its location using thissystem, a problem remains as to how one user, say User A, who is loggedonto a network on a fixed or mobile computer can locate another mobilecomputer or, more likely, the person using the mobile computer, say UserB. This problem has been solved for finding stationary users, since therequesting user, User A, can simply determine the location of a networkaccess point to which the stationary user's, User B's, computer isconnected and use that location to infer his or her location. But since,by definition, a mobile user can be physically located virtuallyanywhere within the coverage of the network, the problem becomessignificantly more difficult to solve.

[0009] Yet another problem exists when one user is logged onto more thanone computer in a network. Current systems and methods don't allow fordistinguishing between the computers to identify where the user may bephysically located.

SUMMARY OF THE INVENTION

[0010] Systems and methods are described that enable a network user toquery the network for the location of another network user, particularlya mobile user. If the mobile user is logged onto more than one computeron the network, the requesting user can determine which of the computersthe mobile user is currently using.

[0011] The mobile user periodically updates a local server database withthe location coordinates of the mobile user and the time at which eachupdate is received. A user name identifying the mobile user isassociated with the location and time of update.

[0012] When another user wants to find the mobile user, the other userinvokes a location manager to search a server database for a user nameidentifying the user. If the last update from the mobile user was madewithin a certain threshold of the query, the last known location storedon the server is immediately sent to the other user as the currentlocation of the mobile user. This option requires very little overhead.

[0013] If the last update from the mobile user was made a while ago(i.e., outside the threshold), then the system invokes a locationtracking service to determine the mobile user's location. By includingperiodic updates to the server, the user's computer enables the locationmanager to locate users using their computers even when they are notmobile and when they are not wirelessly connected.

[0014] The mobile computer is also configured to transmit an “active”signal if the mobile computer has been used within a specified timeperiod. For example, if the mobile computer has been actively usedwithin the two minutes prior to the latest update, the active signal istransmitted together with the location (and other) information.Therefore, when a user is logged onto multiple machines, it is possibleto determine on which machine the user was most recently active. Thelocation of the active machine is deemed to be the location of the user.

[0015] Additional features and advantages of the invention will be madeapparent from the following detailed description of illustrativeimplementations, which proceeds with reference to the accompanyingfigures.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016] A more complete understanding of the various methods andarrangements of the present invention may be had by reference to thefollowing detailed description when taken in conjunction with theaccompanying drawings, wherein:

[0017]FIG. 1 is a block diagram generally illustrating an exemplarycomputer system on which the present invention resides.

[0018]FIG. 2 is a block diagram of a wireless network system including aserver and three mobile computers.

[0019]FIG. 3 is a flow diagram of client-side operations in a method forlocating a mobile user within a wireless network.

[0020]FIG. 4 is a flow diagram of server-side operations in a method forlocating a mobile user within a wireless network.

DETAILED DESCRIPTION

[0021] The invention is illustrated in the drawings as being implementedin a suitable computing environment. Although not required, theinvention will be described in the general context ofcomputer-executable instructions, such as program modules, to beexecuted by a personal computer. Generally, program modules includeroutines, programs, objects, components, data structures, etc. thatperform particular tasks or implement particular abstract data types.Moreover, those skilled in the art will appreciate that the inventionmay be practiced with other computer system configurations, includinghand-held devices, multi-processor systems, microprocessor based orprogrammable consumer electronics, network PCs, minicomputers, mainframecomputers, and the like. The invention may also be practice indistributed computing environments where tasks are performed by remoteprocessing devices that are linked through a communications network. Ina distributed computing environment, program modules may be located inboth local and remote memory storage devices.

[0022] With reference to FIG. 1, an exemplary wireless network system100 for implementing the invention includes a general purpose computingdevice in the form of a conventional mobile personal computer 120,including a processing unit 121, a system memory 122, and a system bus123 that couples various system components including the system memoryto the processing unit 121. The system bus 123 may be any of severaltypes of bus structures including a memory bus or memory controller, aperipheral bus, and a local bus using any of a variety of busarchitectures. The system memory includes read only memory (ROM) 124 andrandom access memory (RAM) 125. A basic input/output system (BIOS) 126,containing the basic routines that help to transfer information betweenelements within the mobile personal computer 120, such as duringstart-up, is stored in ROM 124. The mobile personal computer 120 furtherincludes a hard disk drive 127 for reading from and writing to a harddisk 160, a floppy disk drive 128 for reading from or writing to aremovable magnetic disk 129, and an optical disk drive 130 for readingfrom or writing to a removable optical disk 131 such as a CD ROM orother optical media.

[0023] The hard disk drive 127, floppy disk drive 128, and optical diskdrive 130 are connected to the system bus 123 by a hard disk driveinterface 132, a floppy disk drive interface 133, and an optical diskdriver interface 134, respectively. The drives and their associatedcomputer-readable media provide non-volatile storage ofcomputer-readable instructions, data structures, program modules andother data for the mobile personal computer 120. Although the exemplaryenvironment described herein employs a hard disk 160, a removablemagnetic disk 129, and a removable optical disk 131, it will beappreciated by those skilled in the art that other types ofcomputer-readable media which can store data that is accessible by acomputer, such as magnetic cassettes, flash memory cards, digital videodisks, Bernoulli cartridges, random access memories, read only memories,and the like may also be used in the exemplary operating environment.

[0024] A number of program modules may be stored on the hard disk 160,magnetic disk 129, optical disk 131, ROM 124 or RAM 125, including anoperating system 135, one or more application programs 136, otherprogram modules 137, and a program data 138. A user may enter commandsand information into the mobile personal computer 120 through inputdevices such as a keyboard 140 and a pointing device 142. Other inputdevices (not shown) may include a microphone, joystick, game pad,satellite dish, scanner, or the like. These and other input devices areoften connected to the processing unit 21 through a serial portinterface 146 that is coupled to the system bus, but may be connected byother interfaces, such a parallel port, game port or universal serialbus (USB). A monitor 147 or other type of display device is alsoconnected to the system bus 123 via an interface, such as a videoadapter 148. In addition to the monitor, personal computers typicallyinclude other peripheral output devices, not shown, such as speakers andprinters.

[0025] The mobile personal computer 120 may operate in a networkedenvironment using logical connections to one or more remote computers,such as a server 149. The remote server 149 may be another type ofremote computer, such as another personal computer, a router, a networkPC, a peer device or other common network node, and typically includesmany or all of the elements described above relative to the mobilepersonal computer 120, although only a memory storage device 150 hasbeen illustrated in FIG. 1. The logical connections depicted in FIG. 1include a Wireless Local Area Network (WLAN) 151 and a wide area network(WAN) 152. Such networking environments are commonplace in offices,enterprise-wide computer networks, intranets and the Internet.

[0026] When used in a WLAN networking environment, the mobile personalcomputer 120 is connected to the local network 151 through a wirelessnetwork interface or adapter 153. The wireless interface 153 transmitspackets wirelessly to a base station 161. The base station 161 can thenretransmit the packets, either through a wired or wireless network tothe remote server 149. When used in a WAN networking environment, thepersonal computer 120 typically includes a modem 154 or other means forestablishing communications over the WAN 152. The modem 154, which maybe internal or external, is connected to the system bus 123 via theserial port interface 146. In a networked environment, program modulesdepicted relative to the mobile personal computer 120, or portionsthereof, may be stored in the remote memory storage device. It will beappreciated that the network connections shown are exemplary and othermeans of establishing a communications link between the computers may beused.

[0027]FIG. 1 also shows several fixed network resources, such as aprinter 162, a scanner 164 and a copier 166. Information about the fixedresources 162, 164, 166 is contained in a resource database 168 storedin the memory storage device 150. Information contained includedinformation regarding location of each fixed resource and properties ofeach fixed resource. It is noted that, while only a few fixed resourcesare shown, any number of fixed resources may be logically or directlyconnected to the remote server 149. Other resources are not necessarilyconnected to the remote server 149. Though not shown or discussed in thepresent example, other examples of fixed resources include an office,files, documents, e-mail addresses, databases, users, distributedcomponents, and the like.

[0028] The memory storage device 150 also includes a user database 170that stores information about users connected to the network 100. Suchinformation includes, but is not limited to, user name, last knownlocation, time of last location update and an activity indicator. Thisinformation will be discussed in greater detail below.

[0029] In the description that follows, the invention will be describedwith reference to acts and symbolic representations of operations thatare performed by one or more computers, unless indicated otherwise. Assuch, it will be understood that such acts and operations, which are attimes referred to as being computer-executed, include the manipulationby the processing unit of the computer of electrical signalsrepresenting data in a structured form. This manipulation transforms thedata or maintains it at locations in the memory system of the computer,which reconfigures or otherwise alters the operation of the computer ina manner will understood by those skilled in the art. The datastructures where data is maintained are physical locations of the memorythat have particular properties defined by the format of the data.However, while the invention is described in the foregoing context, itis not meant to be limiting as those of skill in the art will appreciatethat various acts and operations described hereinafter may also beimplemented in hardware.

[0030]FIG. 2 depicts a wireless network system 200 similar to the system100 shown in FIG. 1 but shown, in part, in greater detail. The wirelessnetwork system 200 includes a server 202 having memory 204 in which auser database 206 is stored. The user database 206 includes recordshaving various fields. A user field 208 stores an identifier associatedwith a particular user of the system 200. Such an identifier is commonlyreferred to as a user name. A last known location field 210 stores alocation of a computing unit determined and transmitted to the server202 by the computing unit. The location stored in the last knownlocation field 210 may be described in terms of absolute coordinates(latitude, longitude and/or altitude), coordinates relative to a known,fixed location (x meters, y meters from the front door of Building A),or a geographical unit (Room 2216, Conference Room A, etc.).Alternatively, the location may be the location of a network node, oraccess point, to which the computing unit is connected.

[0031] A time field 212 stores a time at which the last known locationwas transmitted. An active field 214 is included in the user database206 and contains an indicator to indicate if the computing unitassociated with a particular active field 214 was in use for a specificperiod of time prior to the transmission of the location information.For example, if a computing unit has not received any actuations by auser for, say, three minutes before a location update is transmitted tothe server 202, a value of the active field 214 will indicate that thecomputing unit is not active. If, on the other hand, the computing unitwas in use at the time the location update was transmitted to the server202, the value of the active field 214 will indicate that the computingunit is active. The implications of the active field 214 and itsindications will be discussed in greater detail, below.

[0032] The user database 206 also contains an OK field 215. The OK field215 is is used to store a list of users that a user identified in theuser field 208 has authorized to receive the identified user's location.Initially, the OK filed 215 is set to a default that allows anyrequesting user to find out where the identified user (the useridentified in the user field 208) is located. However, the identifieduser may update the OK field 215 so that only those user authorized bythe identified user can locate the identified user.

[0033] The server 202 is connected to a wireless access point 216. Thewireless access point 216 may or may not be integrated into the server202 itself. The wireless access point 216, as the name implies, servesas a reception point for wireless transmissions directed to the server202. The server 202 may also be connected to a wired network 218, thoughthis is not required if the network 200 is strictly for wireless users.

[0034] Several mobile computers are shown in communication with thewireless access point 216 of the network 200. Mobile A 218 is a mobilecomputer that is a part of the wireless network 200. Mobile B 220 andMobile C 222 are, likewise, connected within the wireless network 200.It is noted that, although only three mobile computers are shown in FIG.2, the wireless network 200 can comprise virtually any number of mobilecomputers, limited only by the physical constraints of the system.

[0035] Mobile A 218 includes memory 224 and a wireless network interface226, which is used to communicate with the wireless access point 216 toaccess the wireless network 200. Mobile A 218 also includes a clock 228that provides a time stamp for location transmissions from Mobile A 218.The memory 224 of Mobile A 218 stores a location manager 230, networkcommunication protocol(s) 232 used by Mobile A 218 to communicate withthe wireless network 200, and a location tracking service 234, which isconfigured to identify a location of Mobile A 218 upon request. Wheneverthe location manager 230 requires the location of Mobile A 218, itqueries the location tracking service 234. The location tracking service234 places the mobile's wireless network hardware in promiscuous receivemode so that it can receive beacons from all nearby base stations. Usingthe signal strength of the beacon packets with an appropriate,previously established radio map of the area or building, Mobile A 218calculates its position. Alternatively, the location tracking service234 in Mobile A 218 may simply query its wireless network interface 226to determine the address of the wireless access point 216 to which it isconnected. It may then either transmit this address to the server 202which does a look up to determine the location of the wireless accesspoint 216 or the Mobile A 218 may itself determine the location of thewireless access point 216 using a map of the area or building andtransmit that location to the server 202. This location is thenconsidered by the server 202 as the location of the Mobile A 218 andstored in the last known location 210 field.

[0036] In some implementations, it may be desirable to encrypt thelocation information before it is transmitted to the server 202. Forinstance, if a user of Mobile A 218 does not want users outside thesystem to determine the location of Mobile A 218, then the location datacan be encrypted prior to transmitting the location data to the server202. Also, a feature is described below, wherein a user of Mobile A 218can identify users that are authorized to determine the location ofMobile A 218. In that case, it is important to encrypt the locationinformation so only the authorized users can determine the location ofMobile A 218.

[0037] Although the location tracking service 234 is described asutilizing a radio frequency (RF) system that determines the location ofMobile A 218 by detecting RF signals transmitted from a number of basestations, it is noted that the location tracking service 234 may use anyavailable method to identify the location of Mobile A 218, such as a GPSsystem, an IR-based system, a tag-based system, etc.

[0038] Mobile B 220 includes a location manager 236 and Mobile C 222includes a location manager 238. Location manager 236 of Mobile B 220and location manager 238 of Mobile C 222 are similar to location manager230 of Mobile A 218, even though the only functionality described hereinfor location managers 236, 238 is a function that requests the locationof Mobile A 218. These and other elements shown in FIG. 2 will bediscussed in greater detail, below, with reference to FIG. 3 and FIG. 4.

[0039]FIG. 3 is a flow chart depicting client-side operations in amethod for locating a mobile user in a wireless network. At block 300,Mobile A 218 determines its location from analysis of various radiofrequency signal transmitted from known locations. The location may bedetermined in absolute (latitude, longitude, altitude) coordinates or incoordinates relative to a known absolute location (x meters, y metersfrom front door of Building A). If the wireless network systeminformation is organized in a directory structure that associates ageographical region with each directory level (state, county, city,building, office, etc.), the location may be determined as ageographical unit, e.g., office 2216, Building A, etc. Such ageographically based information management system is described in U.S.patent application Ser. No. 09/______ , entitled “Information Managementand Processing In a Wireless Network.”

[0040] Mobile A 218 then determines a system time at step 302. This isaccomplished by accessing the system time of the server 202 to whichMobile A 218 is connected.

[0041] At block 304, Mobile A 218 determines if a user has been activeon Mobile A 218 for a specified time period prior to the locationdetermination block 300. For instance, if the specified time period istwo minutes, then Mobile A 218 is deemed to be active if a useroperation has occurred in the two minutes prior to the determinationblock 300. If so (“Yes” branch, block 304), then a user name of a useron Mobile A 218, is transmitted to the server 202 together with thelocation coordinates, the time of the location determination, and anactive signal indicating that Mobile A 218 is active (block 306). If theuser has not operated Mobile A 218 during the specified time period(“No” branch, block 304), the active signal is not transmitted. In thatcase, only the user name, location coordinates and time of the locationdetermination are transmitted to the server 202 at block 308. When theactive signal is received at the server 202, the server 202 indicates inthe user database 206 that Mobile A 218 is active. Contemporaneouslytherewith, the server 202 clears any other active signal that may bepresent for a computer used by the user logged onto Mobile A 218, sinceonly one computer can be active for a user at any given time.

[0042] In an alternative implementation, Mobile A 218 does notperiodically update its location with the server 202. This may bepreferable in a situation where a user of Mobile A 218 wishes toconserve battery power or network bandwidth. In such an implementation,Mobile A 218 initially registers with the server 202 when Mobile A 218becomes active. Thereafter, Mobile A 218 only updates its location whenit receives a request to do so from the server 202. The server 202 makessuch a request in the event that it receives a request from another userto locate Mobile A 218.

[0043]FIG. 4 is a flow chart depicting server-side operations in amethod for locating a mobile user in a wireless network. At block 400,the server 202 receives a request from a computing unit (such as MobileB 220 or Mobile C 222) for a location of a specific user. For thepresent discussion, assume that Mobile C 222 submits a request to theserver 202 for the location of “Victor,” who is logged onto the networkon Mobile A 218. Also assume that “Victor” is a unique user name. Whenthe request for “Victor” is received, the server 202 searches for anyentry in the user database 206 having “Victor” in the user field 208. If“Victor” is not found in the user database 206 (“No” branch, block 402),a “User Not Found” message is sent to Mobile C 222 at block 404.

[0044] If “Victor” is found in the user database 206 (“Yes” branch,block 402), then the server 202 continues to search the user field 208of the user database 206 for other “Victor” entries at block 406. If atleast one other “Victor” entry is found (“Yes” branch, block 406), theserver locates the “Victor” entry that indicates an “active” status inthe active field 214 (block 408). Block 408 is not performed if no other“Victor” entry is found.

[0045] At block 410, a time differential is calculated by finding thedifference between the time of the last location update (time field 212)and a current time. The time differential is compared to a pre-definedthreshold at block 412. If the time differential is within the threshold(“Yes” branch, block 412), then the location stored in the last knownlocation field 210 of the user database 206 is deemed to be the locationof “Victor,” the user of Mobile A 218 (block 418). If the timedifferential is greater than the threshold (“No” branch, block 412),then a signal is transmitted to the location manager 230 of Mobile A 218requesting a location update, which causes the location manager 230 toinvoke the location tracking service 234 at block 414 to determine thecurrent location of Mobile A 218. The current location information isthen transmitted to the server 202 at block 416, where it is stored inthe user database 206. Then, at block 418, the current location (whichis now stored in the last known location field 210) is deemed to be thelocation of the user, “Victor.”

[0046] It is noted that the systems and methods described herein mayalso be utilized to located fixed system users as well. In such a case,a location tracking service in a fixed computing resource can determinethe address of its own network interface card and send that address tothe network server. The network server can then look up the appropriatedatabase to determine the name of the machine which contains thisnetwork card and its location. In this way, a user's location can bedetermined from the location of the computing resource, the user's nameand the user's “active” status.

[0047] Conclusion

[0048] The described implementations advantageously provide for aneffective way to locate a mobile user in a wireless network, even if themobile user is logged into more than one computer. Other advantages willbe apparent to those of skill in the art.

[0049] Although the invention has been described in language specific tostructural features and/or methodological steps, it is to be understoodthat the invention defined in the appended claims is not necessarilylimited to the specific features or steps described. Rather, thespecific features and steps are disclosed as preferred forms ofimplementing the claimed invention.

1. A method, comprising: periodically identifying a location of a firstcomputer that is used by a first computer user; receiving a request froma computing unit for the location of the first computer user;determining the last known location of the first computer; transmittingthe location of the first computer to the computing unit; andrecognizing the location of the first computer as the location of thefirst computer user.
 2. The method as recited in claim 1, wherein thefirst computer is a mobile computer operating within a wireless network.3. The method as recited in claim 1, wherein the periodicallyidentifying a location of the first computer comprises: associating thefirst computer user with the location of the first computer;transmitting the location of the first computer and the associated firstcomputer user to a network server during each of several recurring timeperiods; and storing the transmitted information on the network server.4. The method as recited in claim 3, wherein the location of the firstcomputer is represented in absolute geographical coordinates.
 5. Themethod as recited in claim 3, wherein the location of the first computeris represented in coordinates relative to a known absolute location. 6.The method as recited in claim 3, wherein the location of the firstcomputer is represented as a geographical unit.
 7. The method as recitedin claim 1, wherein the periodically identifying a location of the firstcomputer further comprises: associating the first computer user namewith the location of the first computer; transmitting the location of anetwork node to which the first computer is connected, the transmittingoccurring once during each of several recurring time periods; andstoring the location of the network node on a network server togetherwith the first computer user name.
 8. The method as recited in claim 1,further comprising time-stamping the location of the first computer withthe time that the first computer was identified.
 9. The method asrecited in claim 8, wherein the determining the last known location ofthe first computer further comprises determining the location of thefirst computer that has a most recent time stamp.
 10. The method asrecited in claim 8, wherein the determining the last known location ofthe first computing unit further comprises: calculating a timedifferential between a current time and the time stamp of a most recentlocation identified for the first computer; comparing the timedifferential with a pre-defined time threshold; defining the last knownlocation of the first computer as the most recent location if the timedifferential is less than the time threshold; and invoking a locationtracking service to identify a current location of the first computer asthe last known location if the time differential is greater than thetime threshold.
 11. The method as recited in claim 1, wherein: theperiodically identifying a location of a first computer that is used bya first computer user further comprises periodically identifying alocation of at least a second computer that is used by the firstcomputer user and detecting an active signal from the computer that wasmost recently used by the first computer user; and the determining thelast known location of the first computer comprises determining the lastknown location of the computer indicating the active signal.
 12. Themethod as recited in claim 1, wherein the determining the last knownlocation of the first computing unit further comprises: searching aserver database having a plurality of computer users and locationscontained therein; and identifying a location associated with the firstcomputer user.
 13. The method as recited in claim 1, further comprisingregistering the first computer, and wherein the identifying a locationof the first computer only occurs upon the receiving a request from thecomputing unit for the location of the first computer.
 14. The method asrecited in claim 1, wherein the last known location of the firstcomputer is transmitted to the computing unit upon a request by thecomputing unit only if the computing unit is authorized to determine thelocation of the first computer.
 15. The method as recited in claim 1,further comprising encrypting the location of the first computer priorto transmitting the location of the first computer.
 16. A method,comprising: determining a location of a computing unit; periodicallytransmitting, from the computing unit, the location of the computingunit to a network server together with a user name of a user using thecomputing unit; and including an active signal with the periodicallytransmitted information when the user is actively using the computingunit.
 17. The method as recited in claim 16, wherein: the computing unitis a mobile computing unit; and the network server is a wireless networkserver.
 18. The method as recited in claim 16, further comprisingtime-stamping the transmission to the network server and transmittingthe time stamp with the transmitted information.
 19. The method asrecited in claim 16, wherein the determining a location of a computingunit comprises receiving RF signals from a plurality of RF beaconshaving known locations and using environmental profiling to establishthe location of the computing unit.
 20. The method as recited in claim16, wherein the location is rendered in latitude and longitudecoordinates.
 21. The method as recited in claim 16, wherein the locationis rendered in latitude, longitude and altitude coordinates.
 22. Themethod as recited in claim 16, wherein the location is rendered incoordinates relative to a known location.
 23. The method as recited inclaim 16, wherein the location is rendered as a geographical unit. 24.The method as recited in claim 16, wherein the location of the computingunit is the known location of a network node to which the computing unitis connected.
 25. The method as recited in claim 16, wherein the useractively using the computing unit further comprises the user having usedthe computing unit within a pre-defined time period.
 26. The method asrecited in claim 16, wherein the periodically transmitting the locationof the computer unit to a network server only occurs upon a request fromthe network server for the computer unit to update the location of thecomputer unit.
 27. The method as recited in claim 16, further comprisingencrypting the location of the computing unit prior to transmitting thelocation of the computing unit to the network server.
 28. A system,comprising: a server having memory; a user database stored in the memoryof the server, the user database containing a user field for storing auser name of a mobile computer user, and a last known location field forstoring a most recent location of a computer user identified in acorresponding user field; a wireless access point configured to receivenetwork transmissions from one or more mobile computers; a mobilecomputer having memory and a wireless network interface forcommunication with the wireless access point; a location tracking systemin the mobile computer memory configured to determine a location of themobile computer; a location manager in the mobile computer memoryconfigured to periodically transmit the location of the mobile computerand the user name of a mobile computer user to the server via thewireless network interface; and a computing unit having a computing unitlocation manager configured to search the user database of the server todetermine information regarding the location of a mobile user.
 29. Thesystem as recited in claim 28, wherein the computing unit is astationary computing unit.
 30. The system as recited in claim 28,wherein the computing unit is a mobile computing unit.
 31. The system asrecited in claim 28, wherein: the mobile computer further comprises aclock; the location manager is further configured to transmit a time oftransmission to the server together with the location and user nameinformation; and the user database further comprises a time field forstoring the time that a transmission identifying the location of themobile user and the user name of the mobile computer user is receivedfrom the mobile computer.
 32. The system as recited in claim 28, whereinthe user database further comprises an active field indicating if themobile computer user has used the mobile computer within a specifiedtime period.
 33. The system as recited in claim 28, wherein the locationmanager transmits the location of the mobile computer in absolutecoordinates.
 34. The system as recited in claim 28, wherein the locationmanager transmits the location of the mobile computer in coordinatesrelative to a known absolute location.
 35. The system as recited inclaim 28, wherein the location manager transmits the location of themobile computer as a geographic unit.
 36. The system as recited in claim28, wherein the location manager transmits the location of a networknode with which the mobile computer is communicating as the location ofthe mobile computer.
 37. The system as recited in claim 28, wherein: themobile computer is a first computer; the system further comprises asecond computer having a location manager; the user database furthercomprises an active field; the mobile computer user is logged onto boththe first mobile computer and the second computer; the location managerof the first computer and the location manager of the second computerare further configured to transmit an active signal for a specifiedperiod of time after the respective computers are used; the active fieldcorresponding to the first computer indicating the mobile computer userlast used the first computer when the active signal is transmitted fromthe first computer; the active field corresponding to the secondcomputer indicating the mobile computer user last used the secondcomputer when the active signal is transmitted from the second computer;and only one active field indicating activity by the mobile computeruser at any given time.
 38. The system as recited in claim 28, wherein:the user database further comprises an OK field that contains data thatidentifies one or more system users that are authorized to receive dataregarding the location of the mobile computer user identified in thecorresponding user field.
 39. The system as recited in claim 28, whereinthe location manager of the computing unit is further configured to:search the user database to locate an entry for a specific user;calculate a time differential between a current time and a time storedin the time field corresponding to the specific user if the specificuser is found; compare the time differential to a time threshold;recognize the location contained in the last known location fieldcorresponding to the specific user as the location of the specific userif the time differential is within the time threshold; transmit a signalto cause the location manager of the mobile computer to invoke thelocation tracking system of the mobile computer if the time differentialis not within the time threshold, to determine the location of themobile computer and transmit location and user information to the serverwhere it is stored in the user database; and recognize the newly storedlocation contained in the last known location field corresponding to thespecific user as the location of the specific user.
 40. A networkserver, comprising: memory; a user database stored in the memorycontaining one or more records, each record including: a user field inthe user database to store a user identifier; and a last known locationfield in the user database to store a most recent location identifiedfor the corresponding user field.
 41. The network server as recited inclaim 40, wherein each record further comprises a time field to store atime that the corresponding last known location was stored.
 42. Thenetwork server as recited in claim 40, wherein each record furthercomprises an active field to store an indication of whether the useridentified in the corresponding user field has been active on a clientconnected to the server within a specified period of time.
 43. Thenetwork server as recited in claim 40, further comprising a wirelessaccess point to which a mobile computing unit may connect to access thenetwork.
 44. The network server as recited in claim 43, furthercomprising a connection to wired network components.
 45. A mobilecomputing unit, comprising: memory; a wireless network interfaceconfigured to connect the mobile computing unit to a wireless accesspoint of a remote server; a location tracking service configured todetermine a location of the mobile computer unit; and a location managerconfigured to periodically transmit the location of the mobile computingunit to the remote server via the wireless network interface.
 46. Themobile computing unit as recited in claim 45, wherein the locationmanager is further configured to transmit a user name of a user loggedonto the mobile computing unit to the remote server together with thelocation of the mobile computing unit.
 47. The mobile computing unit asrecited in claim 45, wherein the location manager is further configuredto transmit an active signal to the remote server together with thelocation of the mobile computing unit when a user logged onto the mobilecomputing unit has actively used the unit within a specified period oftime.
 48. The mobile computing unit as recited in claim 45, furthercomprising a clock, and wherein the location manager is furtherconfigured to time-stamp the transmission of the location informationwith a time that the transmission is sent.
 49. The mobile computing unitas recited in claim 45, wherein the location manager identifies andtransmits the location of a network node with which the mobile computingunit is communicating as the location of the mobile computing unit. 50.The mobile computing unit as recited in claim 45, wherein the locationmanager is configured to invoke the location tracking service whencommanded to do so by a second computing unit or the server.
 51. Themobile computing unit as recited in claim 45, wherein the locationmanager transmits an absolute location of the mobile computing unit tothe remote server.
 52. The mobile computing unit as recited in claim 45,wherein the location manager transmits the a location of the mobilecomputing unit relative to a known absolute location.
 53. The mobilecomputing unit as recited in claim 45, wherein the location managertransmits a geographic region to the remote server as the location ofthe mobile computing unit.
 54. The mobile computing unit as recited inclaim 45, wherein the location manager is further configured to encryptthe location of the mobile computing unit before transmitting thelocation of the mobile computing unit to the remote server.
 55. A methodfor locating a mobile computer user in a wireless network, comprising:periodically identifying a location of a mobile computer that is used bya mobile user and associating a time stamp with the location indicatinga time at which the location was identified; transmitting the locationof the mobile computer to a network server together with the time stampand a name of the mobile user; storing the transmitted information onthe network server; receiving a request from a computing unit for thelocation of the mobile user; determining the last known location of themobile computer by accessing the network server and finding the locationhaving a most recent time stamp; and recognizing the last known locationof the mobile computer as the location of the mobile user.
 56. Themethod as recited in claim 55, wherein the periodically identifying alocation of a mobile computer further comprises identifying the locationof the mobile user by measuring relative strengths of radio frequencytransmissions emitted from a plurality of base stations.
 57. The methodas recited in claim 55, further comprising: transmitting an activesignal together with the location information if the mobile user hasactively used the mobile computer within a specified period of time. 58.A system, comprising: a server having memory; a user database stored inthe memory of the server, the user database containing a user field forstoring a user name of a mobile computer user, and a last known locationfield for storing a most recent location of a computer user identifiedin a corresponding user field; a wireless access point configured toreceive network transmissions from one or more mobile computers; amobile computer having memory and a wireless network interface forcommunication with the wireless access point; a location tracking systemin the mobile computer memory configured to determine a location of themobile computer; a location manager in the mobile computer memoryconfigured to transmit the location of the mobile computer and the username of a mobile computer user to the server via the wireless networkinterface when a request to do so is received from the server; and acomputing unit having a computing unit location manager configured tosearch the user database of the server to determine informationregarding the location of a mobile user.